package com.jmp.service.api.admin;

import com.jmp.service.api.admin.dto.*;
import one.stand.model.ResultModel;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 奖券
 * @author cjr
 */
public interface TicketApi {

    /**
     * 奖券详情
     */
    @PostMapping("admin/ticket/info")
    ResultModel<TicketInfoResponse> info(@RequestBody TicketInfoRequest request);

    /**
     * 奖券详情-二维码
     */
    @PostMapping("admin/ticket/info/qr")
    ResultModel<TicketInfoQrResponse> infoQr(@RequestBody TicketInfoQrRequest request);

    /**
     * 奖券-使用
     */
    @PostMapping("admin/ticket/use")
    ResultModel use(@RequestBody TicketUseRequest request);

    /**
     * 订单-提交
     */
    @PostMapping("admin/ticket/order/save")
    ResultModel orderSave(@RequestBody TicketOrderSaveRequest request);

    /**
     * 订单-审核通过
     */
    @PostMapping("admin/ticket/order/pass")
    ResultModel orderPass(@RequestBody TicketOrderPassRequest request);

    /**
     * 订单-审核拒绝
     */
    @PostMapping("admin/ticket/order/refuse")
    ResultModel orderRefuse(@RequestBody TicketOrderPassRequest request);

    /**
     * 订单-备注
     */
    @PostMapping("admin/ticket/order/memo")
    ResultModel orderMemo(@RequestBody TicketOrderMemoDto request);

    /**
     * 订单统计
     */
    @PostMapping("admin/ticket/order/count")
    ResultModel<TicketOrderCountVo> orderCount(@RequestBody TicketOrderCountDto request);

    /**
     * 订单列表
     */
    @PostMapping("admin/ticket/order/list")
    ResultModel<TicketOrderListVo> orderList(@RequestBody TicketOrderListDto request);

    /**
     * 订单详情
     */
    @PostMapping("admin/ticket/order/info")
    ResultModel<TicketOrderInfoVo> orderInfo(@RequestBody TicketOrderInfoDto request);
}
